home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 26 / AACD 26.iso / AACD / Programming / AllPlaton / Unsorted / !TGI.AMOS / !TGI.amosSourceCode
Encoding:
AMOS Source Code  |  2001-09-06  |  7.1 KB  |  307 lines

  1. Set Buffer 100
  2. Dim QST$(20),PPL$(20),FIL$(60)
  3. Gosub MAKEBUTTONS
  4.  
  5. Gosub MAKEHUMPF
  6.  
  7. Gosub MAKEHEADINGS
  8. Gosub MAKEZOMPF
  9. Gosub MAKEMISC
  10. End 
  11. MAKEZOMPF:
  12.   ZF=6
  13.   SX=128*ZF : SY=32*ZF
  14.   Gosub INITSCREEN
  15.   Restore MAKEZOMPFDATA
  16.   Do 
  17.     Read T$
  18.     Exit If T$=""
  19.     Read FS,F$,CO
  20.     Screen 0
  21.      Extension_8_1722 0,$FFF To 5,0
  22.      Extension_8_1722 5,0 To 11,CO
  23.      Extension_8_1722 11,CO To 16,$FFF
  24.     Screen 1 : Get Palette 0
  25.  
  26.     Gosub PASTEX2B
  27.     Gosub ANTIALIAS
  28.     Screen 0 : Save Iff "DF�:TGI/!org/z_"+F$+".iff"
  29.   Loop 
  30. Return 
  31. MAKEZOMPFDATA:
  32. Data "Mikroprogrammierung",84,"micro",$7FF
  33. Data "VHDL",220,"vhdl",$F7F
  34. Data "Maschinennahe|Programmierung",160,"intelsucks",$7F7
  35. Data ""
  36.  
  37. MAKEHUMPF:
  38.   ZF=6
  39.   SX=160*ZF : SY=40*ZF
  40.   Gosub INITSCREEN
  41.   Restore MAKEHUMPFDATA
  42.   Do 
  43.     Read T$
  44.     Exit If T$=""
  45.     Read FS,F$,CO
  46.     Screen 0
  47.      Extension_8_1722 0,$FFF To 5,0
  48.      Extension_8_1722 5,0 To 11,CO
  49.      Extension_8_1722 11,CO To 15,$FFF
  50.     Colour 15,$F0F
  51.     Screen 1 : Get Palette 0
  52.  
  53.     Gosub PASTEX3
  54.     Gosub ANTIALIAS
  55.     Screen 0 : Save Iff "DF�:TGI/!org/b_"+F$+".iff"
  56.   Loop 
  57. Return 
  58. MAKEHUMPFDATA:
  59. Data "Mikroprogrammierung",112,"micro",$4CC
  60. Data "VHDL",300,"vhdl",$C4C
  61. Data "Maschinennahe|Programmierung",224,"intelsucks",$4C4
  62. Data ""
  63.  
  64. MAKEBUTTONS:
  65.   ZF=6
  66.   SX=128*ZF : SY=32*ZF
  67.   Gosub INITSCREEN
  68.   Restore MAKEBUTTONSDATA
  69.   Do 
  70.     Read T$
  71.     Exit If T$=""
  72.     Read FS,F$,CO
  73.     Screen 0
  74.      Extension_8_1722 0,$FFF To 5,0
  75.      Extension_8_1722 5,0 To 11,CO
  76.      Extension_8_1722 11,CO To 16,$FFF
  77.     Screen 1 : Get Palette 0
  78.  
  79.     Gosub PASTEX2
  80.     Gosub ANTIALIAS
  81.     Screen 0 : Save Iff "DF�:TGI/!org/g_"+F$+".iff"
  82.   Loop 
  83. Return 
  84. MAKEBUTTONSDATA:
  85. Data "Pflichtenheft",136,"dutiesb",$5DD
  86. Data "Spezifikation",136,"specsb",$4CC
  87. Data "Realisierung",136,"implb",$3BB
  88. Data "Benutzer-|dokumentation",168,"userdocsb",$2AA
  89. Data "Entwickler-|dokumentation",168,"devdocsb",$199
  90.  
  91. Data "Pflichtenheft",136,"dutiesg",$5D5
  92. Data "Spezifikation",136,"specsg",$4C4
  93. Data "Realisierung",136,"implg",$3B3
  94. Data "Benutzer-|dokumentation",168,"userdocsg",$2A2
  95. Data "Entwickler-|dokumentation",168,"devdocsg",$191
  96.  
  97. Data "Pflichtenheft",136,"dutiesm",$D5D
  98. Data "Spezifikation",136,"specsm",$C4C
  99. Data "Realisierung",136,"implm",$B3B
  100. Data "Benutzer-|dokumentation",168,"userdocsm",$A2A
  101. Data "Entwickler-|dokumentation",168,"devdocsm",$919
  102. Data ""
  103.  
  104. MAKEHEADINGS:
  105.   ZF=3
  106.   SX=336*ZF : SY=48*ZF
  107.   Gosub INITSCREEN
  108.   Screen 0
  109.    Extension_8_1722 0,$FFF To 5,0
  110.    Extension_8_1722 5,0 To 11,$56F
  111.    Extension_8_1722 11,$56F To 16,$FFF
  112.   Screen 1 : Get Palette 0
  113.   Restore MAKEHEADINGSDATA
  114.   Do 
  115.     Read T$
  116.     Exit If T$=""
  117.     Read FS,F$
  118.  
  119.     Gosub PASTEX
  120.     Gosub ANTIALIAS
  121.     Screen 0 : Save Iff "DF�:TGI/!org/h_"+F$+".iff"
  122.   Loop 
  123.  
  124. Return 
  125. MAKEHEADINGSDATA:
  126. Data "TGI Praktikum",128,"tgi"
  127. 'Data "Pflichtenheft",128,"duties" 
  128. 'Data "Spezifikation",128,"specs"
  129. 'Data "Realisierung",128,"impl"
  130. Data "Dokumentation",128,"docs"
  131. Data ""
  132.  
  133. MAKEMISC:
  134.   ZF=8
  135.   SX=32*ZF : SY=24*ZF
  136.   Gosub INITSCREEN
  137.   Screen 0
  138.    Extension_8_1722 0,$FFF To 15,$0
  139.   Screen 1 : Get Palette 0
  140.   Cls 0
  141.   Ink 15 : Extension_8_05E6 SY,SY,SY
  142.   Bar SY,0 To SX,SY
  143.   Gosub ANTIALIAS
  144.    Extension_8_1722 0,$FFF To 15,$FF0
  145.   Screen 0 : Save Iff "DF�:TGI/!org/hcorner.iff"
  146. Return 
  147.  
  148. INITSCREEN:
  149.   Screen Open 0,((SX/ZF)+15) and $FFF0,SY/ZF,16,0
  150.   Curs Off : Flash Off : Paper 0 : Pen 1 : Cls 
  151.   Screen Open 1,SX,SY,16,$8004
  152.   Curs Off : Flash Off : Paper 0 : Pen 1 : Cls 
  153.   Gr Writing 0
  154.   Get Palette 0
  155.   Reserve As Chip Work 666,63*1024
  156.   Set Tempras 666,Length(666)
  157. Return 
  158.  
  159. PASTEX:
  160.   Screen 1 : Screen To Front 
  161.   Cls 5
  162.   Ink 11 : Extension_8_05E6 SY,SY,SY
  163.   Bar SY,0 To SX,SY
  164.    Extension_8_1016 0,SY-1 To SX-1,SY-1,5
  165.    Extension_8_1016 0,SY-2 To SX-1,SY-2,5
  166.    Extension_8_1016 SX-1,0 To SX-1,SY-1,5
  167.    Extension_8_1016 SX-2,0 To SX-2,SY-1,5
  168.  
  169.   LI=Len(T$)-Len(T$-"|")+1
  170.   If LI=1 Then T$=T$+"|"
  171.    Extension_8_05B0 "CGTriumvirate",FS/LI
  172.   For L=0 To LI-1
  173.     X=SY/2 : Y=9+(128-FS)/2+(L*FS)/LI+Text Base
  174.     For A=1 To 4
  175.       Ink 5 : Text X+A,Y+A, Extension_8_16A4(T$,L)
  176.     Next 
  177.     Ink 0 : Text X,Y, Extension_8_16A4(T$,L)
  178.   Next 
  179. Return 
  180.  
  181. PASTEX2:
  182.   Screen 1 : Screen To Front 
  183.   If Length(9)=0
  184.     Cls 5
  185.     Ink 11 : Extension_8_05E6 SY/2,SY/2,SY/2
  186. '    Bar SY/2,0 To SX-SY/2,SY
  187.     Bar 0,0 To SX-SY/2,SY
  188.     Ink 11 : Extension_8_05E6 SX-SY/2,SY/2,SY/2
  189.  
  190.     Gosub TDBUT
  191.     Spack 1 To 9
  192.   Else 
  193.     Unpack 9 To 1
  194.     Gr Writing 0
  195.     Get Palette 0
  196.   End If 
  197.   LI=Len(T$)-Len(T$-"|")+1
  198.   If LI=1 Then T$=T$+"|"
  199.    Extension_8_05B0 "CGTriumvirate",FS/LI
  200.   For L=0 To LI-1
  201.     TT$= Extension_8_16A4(T$,L)
  202.     XX=Text Length(TT$)
  203.     X=(SX-XX)/2 : Y=(SY-FS)/2-2+(L*FS)/LI+Text Base
  204.     For A=0 To 1023 Step 32
  205.       Ink 5 : Text X+ Extension_8_1114(A,8),Y+ Extension_8_1106(A,8),TT$
  206.     Next 
  207.     Ink 0 : Text X,Y,TT$
  208.   Next 
  209. Return 
  210.  
  211. PASTEX2B:
  212.   Screen 1 : Screen To Front 
  213.   If Length(10)=0
  214.     Cls 5
  215.     Ink 11 : Extension_8_05E6 SY/2,SY/2,SY/2
  216.     Bar 0,0 To SX-SY/2,SY
  217.      Extension_8_05E6 SX-SY/2,SY/2,SY/2
  218.     Ink 5 : Extension_8_05E6 SY/2,SY/2,SY/4
  219.     Bar SY/2,SY/4 To SX-SY/2,(SY*3)/4
  220.      Extension_8_05E6 SX-SY/2,SY/2,SY/4
  221.     Gosub TDBUT
  222.     Spack 1 To 10
  223.   Else 
  224.     Unpack 10 To 1
  225.     Gr Writing 0
  226.     Get Palette 0
  227.   End If 
  228.   LI=Len(T$)-Len(T$-"|")+1
  229.   If LI=1 Then T$=T$+"|"
  230.    Extension_8_05B0 "CGTriumvirate",FS/LI
  231.   For L=0 To LI-1
  232.     TT$= Extension_8_16A4(T$,L)
  233.     XX=Text Length(TT$)
  234.     X=(SX-XX)/2 : Y=(SY-FS)/2-2+(L*FS)/LI+Text Base
  235.     For A=0 To 1023 Step 32
  236.       Ink 5 : Text X+ Extension_8_1114(A,8),Y+ Extension_8_1106(A,8),TT$
  237.     Next 
  238.     Ink 0 : Text X,Y,TT$
  239.   Next 
  240. Return 
  241.  
  242. PASTEX3:
  243.   Screen 1 : Screen To Front 
  244.   Cls 15
  245.   Ink 11 : Extension_8_05E6 SY/2,SY/2,SY/2
  246.   Bar SY/2,0 To SX-SY/2,SY
  247.   Ink 11 : Extension_8_05E6 SX-SY/2,SY/2,SY/2
  248.  
  249.   LI=Len(T$)-Len(T$-"|")+1
  250.   If LI=1 Then T$=T$+"|"
  251.    Extension_8_05B0 "CGTriumvirate",FS/LI
  252.   For L=0 To LI-1
  253.     TT$= Extension_8_16A4(T$,L)
  254.     XX=Text Length(TT$)
  255.     X=(SX-XX)/2 : Y=(SY-FS)/2-2+(L*FS)/LI+Text Base
  256.     For A=0 To 1023 Step 32
  257.       Ink 5 : Text X+ Extension_8_1114(A,8),Y+ Extension_8_1106(A,8),TT$
  258.     Next 
  259.     Ink 0 : Text X,Y,TT$
  260.   Next 
  261. Return 
  262.  
  263. TDBUT:
  264.   ZFQ=ZF*ZF
  265.   For Y=0 To SY-1
  266.     For X=0 To SX-1
  267.       If Extension_8_039E(X,Y)=11
  268.         C=0
  269.         For A=0 To ZFQ-1
  270.           XX=X-ZF*2+ Extension_8_11B8(12)
  271.           YY=Y-ZF*2+ Extension_8_11B8(12)
  272.           Add C,-Min(Max( Extension_8_039E(XX,YY)-5,0),1)
  273.           XX=X+ZF*2- Extension_8_11B8(12)
  274.           YY=Y+ZF*2- Extension_8_11B8(12)
  275.           Add C,Min(Max( Extension_8_039E(XX,YY)-5,0),1)
  276.         Next 
  277.          Extension_8_0388 X,Y,11+(C*4)/ZFQ
  278.       End If 
  279.     Next 
  280.   Next 
  281. Return 
  282.  
  283. ANTIALIAS:
  284.   Screen To Front 0
  285.   ZFQ=ZF*ZF
  286.   For Y=0 To SY-1 Step ZF
  287.     For X=0 To SX-1 Step ZF
  288.       Screen 1
  289.       R=ZFQ/2 : G=ZFQ/2 : B=ZFQ/2
  290.       P=0
  291.       GV=$FFF-((((Y+YY)*15)+SY/2)/SY)*$111
  292.       For YY=0 To ZF-1
  293.         For XX=0 To ZF-1
  294.           C=Colour(Max( Extension_8_039E(X+XX,Y+YY),0))
  295.           If C=$F0F Then C=GV : Inc P
  296.           Add R, Extension_8_03B2(C)
  297.           Add G, Extension_8_03C0(C)
  298.           Add B, Extension_8_03D0(C)
  299.         Next 
  300.       Next 
  301.       MIX= Extension_8_0A0E(R/ZFQ,G/ZFQ,B/ZFQ)
  302.       If P=ZFQ Then MIX=$F0F
  303.       Screen 0
  304.        Extension_8_0388 X/ZF,Y/ZF, Extension_8_1514(MIX,0 To 15)
  305.     Next 
  306.   Next 
  307. Return